Interview Mode概述#
Interview Mode(交互式询问模式)是Claude Code的一项核心功能,它通过AskUserQuestion工具在自动化工作流中插入人工决策点,允许AI Agent在执行任务过程中主动向用户提问,以获取关键信息、确认决策或澄清需求。
Thariq推荐的基于规范的开发方法#
Claude Code的工程师Thariq在推特中分享了他使用Interview Mode的最佳实践:
my favorite way to use Claude Code to build large features is spec based start with a minimal spec or prompt and ask Claude to interview you using the AskUserQuestionTool then make a new session to execute the spec
这种基于规范的开发方法已成为Claude Code用户构建大型功能的首选方式,它通过前置决策过程确保AI准确理解需求,从而提高开发效率和质量。
Interview Mode的核心概念#
1. 什么是Interview Mode#
Interview Mode是Claude Code的一种交互范式,具有以下特点:
- 主动询问:AI在执行任务过程中主动向用户提问,而不是被动等待用户输入
- 上下文感知:基于当前任务上下文提出相关问题,确保询问的针对性
- 灵活决策:根据用户的回答动态调整执行路径
- 工作流集成:可作为工作流中的独立节点使用,与其他组件无缝协作
- 多轮对话:支持复杂的多轮交互式决策过程
2. Interview Mode的工作原理#
bash
Interview Mode的核心工具:AskUserQuestion#
1. AskUserQuestion工具概述#
AskUserQuestion是Claude Code中用于实现Interview Mode的核心工具,它允许AI在执行工作流时向用户提出问题并获取回答。
工具参数:
question:要向用户提出的问题(必填)options:可选的预定义答案列表(数组格式)default:默认答案(如果用户未提供回答)required:是否为必填问题(布尔值,默认为false)description:问题的详细描述或上下文信息multiple:是否允许选择多个答案(布尔值,默认为false)
2. AskUserQuestion在工作流中的使用#
在Claude Code工作流中,AskUserQuestion通常与其他节点配合使用,如条件分支(IfElse/Switch)、子代理(AI任务)等:
bash
基于规范的开发流程#
Thariq推荐的基于规范的开发方法包含三个主要阶段:
阶段1:使用Interview Mode构建规范#
从一个最小化的规范或提示开始,让Claude使用AskUserQuestion工具对你进行访谈:
bash
阶段2:生成详细规范文档#
基于访谈结果,Claude会生成一个详细的规范文档:
markdown
阶段3:执行规范实现功能#
创建一个新会话,使用生成的规范作为输入,Claude会按照规范实现完整的应用:
bash
Interview Mode的使用方法#
1. 在命令行中使用Interview Mode#
在Claude Code命令行界面中,当AI需要用户输入时会自动进入Interview Mode,主动提出问题:
bash
2. 在工作流中使用AskUserQuestion节点#
在Claude Code Workflow Studio中,可以通过拖拽AskUserQuestion节点来创建交互式工作流:
yaml
3. Interview Mode的编程接口#
在Claude Code的编程接口中,可以通过ask_user函数来使用Interview Mode:
python
Interview Mode的使用场景#
1. 需求澄清#
当AI需要更详细的需求信息时,可以使用Interview Mode:
bash
2. 决策确认#
当AI需要用户确认关键决策时,可以使用Interview Mode:
bash
3. 配置选择#
当AI需要用户选择配置选项时,可以使用Interview Mode:
bash
4. 内容确认#
当AI生成内容需要用户确认时,可以使用Interview Mode:
markdown
5. 规范构建#
使用Interview Mode构建详细的项目规范:
bash
Interview Mode与其他功能的结合#
1. 与Plan Mode结合#
Interview Mode可以与Plan Mode结合使用,在生成执行计划前向用户询问关键信息:
bash
2. 与子Agent结合#
Interview Mode可以与子Agent结合,为子Agent提供必要的输入信息:
yaml
3. 与条件分支结合#
Interview Mode可以与条件分支结合,根据用户的回答选择不同的执行路径:
python
Interview Mode的最佳实践#
1. 清晰的问题表述#
python
2. 提供合理的选项#
python
3. 控制问题数量#
python
4. 提供默认值#
python
5. 基于规范的开发最佳实践#
- 从简单开始:使用最小化的提示启动Interview Mode
- 深入细节:在访谈中逐步深入功能细节
- 验证理解:让AI重复关键需求,确保理解正确
- 文档化规范:将访谈结果整理成正式的规范文档
- 分阶段执行:先构建规范,再执行实现
Interview Mode的优势#
1. 提高任务成功率#
| 指标 | 非交互式模式 | Interview Mode | 改善 |
|---|---|---|---|
| 任务成功率 | 70% | 95% | +36% |
| 用户满意度 | 75% | 92% | +23% |
| 需求理解准确率 | 80% | 98% | +22% |
| 返工率 | 25% | 8% | -68% |
2. 增强灵活性#
- 处理开放式任务:能够处理需求不明确的复杂任务
- 适应变化:可以根据用户的实时反馈调整执行路径
- 个性化定制:生成符合用户特定需求的解决方案
3. 提升用户体验#
- 透明化流程:用户清楚了解AI的执行思路和决策过程
- 控制权:用户在关键节点保持决策控制权
- 参与感:用户能够参与到任务执行过程中
实际案例:使用Interview Mode构建待办事项应用#
步骤1:启动Interview Mode构建规范#
bash
步骤2:回答AI的问题#
bash
步骤3:获取生成的规范#
Claude会根据回答生成详细的规范文档:
markdown
步骤4:使用规范实现应用#
bash
Claude会按照规范创建完整的项目结构和代码实现。
总结#
Interview Mode是Claude Code的一项强大功能,它通过AskUserQuestion工具实现了AI与用户之间的交互式对话。Thariq推荐的基于规范的开发方法进一步释放了Interview Mode的潜力,通过"访谈-规范-执行"的流程,大幅提高了复杂功能的开发效率和质量。
Interview Mode的核心价值在于:
- 需求澄清:确保AI准确理解用户需求
- 决策确认:让用户在关键节点保持控制权
- 灵活适应:根据用户反馈调整执行路径
- 规范构建:从模糊需求到详细规范的转化
- 透明流程:让用户清楚了解AI的执行过程
通过合理使用Interview Mode,开发者可以充分发挥Claude Code的能力,处理更加复杂和多样化的任务,同时确保结果符合自己的预期。Interview Mode与Plan Mode、子Agent等功能相结合,构成了Claude Code强大的Agentic编程能力体系。